home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / sound / ay8910.h < prev    next >
C/C++ Source or Header  |  2000-04-04  |  1KB  |  51 lines

  1. #ifndef AY8910_H
  2. #define AY8910_H
  3.  
  4.  
  5. #define MAX_8910 5
  6. #define ALL_8910_CHANNELS -1
  7.  
  8. struct AY8910interface
  9. {
  10.     int num;    /* total number of 8910 in the machine */
  11.     int baseclock;
  12.     int mixing_level[MAX_8910];
  13.     mem_read_handler portAread[MAX_8910];
  14.     mem_read_handler portBread[MAX_8910];
  15.     mem_write_handler portAwrite[MAX_8910];
  16.     mem_write_handler portBwrite[MAX_8910];
  17.     void (*handler[MAX_8910])(int irq);    /* IRQ handler for the YM2203 */
  18. };
  19.  
  20. void AY8910_reset(int chip);
  21.  
  22. void AY8910_set_clock(int chip,int _clock);
  23. void AY8910_set_volume(int chip,int channel,int volume);
  24.  
  25.  
  26. void AY8910Write(int chip,int a,int data);
  27. int AY8910Read(int chip);
  28.  
  29.  
  30. READ_HANDLER( AY8910_read_port_0_r );
  31. READ_HANDLER( AY8910_read_port_1_r );
  32. READ_HANDLER( AY8910_read_port_2_r );
  33. READ_HANDLER( AY8910_read_port_3_r );
  34. READ_HANDLER( AY8910_read_port_4_r );
  35.  
  36. WRITE_HANDLER( AY8910_control_port_0_w );
  37. WRITE_HANDLER( AY8910_control_port_1_w );
  38. WRITE_HANDLER( AY8910_control_port_2_w );
  39. WRITE_HANDLER( AY8910_control_port_3_w );
  40. WRITE_HANDLER( AY8910_control_port_4_w );
  41.  
  42. WRITE_HANDLER( AY8910_write_port_0_w );
  43. WRITE_HANDLER( AY8910_write_port_1_w );
  44. WRITE_HANDLER( AY8910_write_port_2_w );
  45. WRITE_HANDLER( AY8910_write_port_3_w );
  46. WRITE_HANDLER( AY8910_write_port_4_w );
  47.  
  48. int AY8910_sh_start(const struct MachineSound *msound);
  49.  
  50. #endif
  51.